package com.yeban.javase.day01.test04;

/**
 * @Desc TODO
 * @Author yeban
 * @Date 2025/10/9
 */
/**
 4.该实例为定义一个成绩计算类。
 类中包含的内容有：
 1、三个float类型的成员属性（Java成绩、C#成绩、数据库成绩）；
 2、对三个私有属性的公开的getter/setter方法；
 3、一个无参的构造方法和一个带参数的构造方法；
 4、计算三个科目的平均值的方法；
 5、计算三个科目的总成绩的方法；
 6、程序入口main方法。

 在main中分别通过有参和无参的构造方法实例化成绩计算类的对象实体并传入成绩参数。
 再通过对象调用计算平均值和总成绩的方法打印输出。
 在计算平均值和总成绩的方法中，分别获取到属性的值进行计算。
 */
public class CalculateScore {

    private float javaScore;
    private float cSharpScore;
    private float databaseScore;

    public CalculateScore() {
    }

    public CalculateScore(float javaScore, float cSharpScore, float databaseScore) {
        this.javaScore = javaScore;
        this.cSharpScore = cSharpScore;
        this.databaseScore = databaseScore;
    }

    public float averageScore() {
        return (javaScore + cSharpScore + databaseScore) / 3;
    }

    public float sumScore() {
        return javaScore + cSharpScore + databaseScore;
    }

    public float getJavaScore() {
        return javaScore;
    }

    public void setJavaScore(float javaScore) {
        this.javaScore = javaScore;
    }

    public float getcSharpScore() {
        return cSharpScore;
    }

    public void setcSharpScore(float cSharpScore) {
        this.cSharpScore = cSharpScore;
    }

    public float getDatabaseScore() {
        return databaseScore;
    }

    public void setDatabaseScore(float databaseScore) {
        this.databaseScore = databaseScore;
    }

    // 在main中分别通过有参和无参的构造方法实例化成绩计算类的对象实体并传入成绩参数。
    // 再通过对象调用计算平均值和总成绩的方法打印输出。
    // 在计算平均值和总成绩的方法中，分别获取到属性的值进行计算。
    public static void main(String[] args) {
        System.out.println("----------------无参构造----------------");
        CalculateScore score1 = new CalculateScore();
        score1.setJavaScore(100.0f);
        score1.setcSharpScore(85.5f);
        score1.setDatabaseScore(89.0f);
        System.out.println("Java成绩：" + score1.getJavaScore());
        System.out.println("C#成绩：" + score1.getcSharpScore());
        System.out.println("数据库成绩：" + score1.getDatabaseScore());


        System.out.println("----------------全参构造----------------");
        CalculateScore score2 = new CalculateScore(99.9f,88.8f,100.0f);
        System.out.println("Java成绩：" + score2.getJavaScore());
        System.out.println("C#成绩：" + score2.getcSharpScore());
        System.out.println("数据库成绩：" + score2.getDatabaseScore());
    }
}
